package cn.fl.custpay.transform;


import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.custpay.dto.CmmIntelChdOrderDTO;
import cn.fl.custpay.vo.CmmIntelChdOrderVO;

import java.util.ArrayList;
import java.util.List;

/**
   * TODO 智能收款子订单记录表 转换器
   * TODO VO是客户端传递数据到服务端进行转换的数据
   * TODO VO转换数据变成DTO传递到服务端
   * TODO VO不能在服务端出现
   * @package: cn.fl.custpay.custpay.dto
   * @className: CmmIntelChdOrderVOTransform
   * @author: shijibin@lionbridgecapital.cn
   * @createDate: 2019/3/19 13:38
   * @version: V1.0.0
   * @copyright: (c) 2019
   * @updateRemark: [序号][YYYY-MM-DD] [更改人姓名][变更描述]
   */
public class CmmIntelChdOrderVOTransform {


	/**
	 * TODO DTO 转  VO
	 * @methodName baseToVO
	 * @author: shijibin@lionbridgecapital.cn
	 * @createDate: 2019/3/19 13:57
	 * @version: 1.0.0
	 * @param dto CmmIntelChdOrderDTO
	 * @return CmmIntelChdOrderVO
	 * @updateRemark [序号][YYYY-MM-DD] [更改人姓名][变更描述]
	 */
	public static CmmIntelChdOrderVO toVO(CmmIntelChdOrderDTO dto) {
		CmmIntelChdOrderVO  vo = null;
		if (dto != null) { 
			vo = new CmmIntelChdOrderVO();
			vo.setId(dto.getId());
			//主订单ID
			vo.setParOrderId(dto.getParOrderId());
			//订单金额
			vo.setOrderAmt(dto.getOrderAmt());
			//订单状态
			vo.setOrderStsCd(dto.getOrderStsCd());
			//结果描述
			vo.setResultDesc(dto.getResultDesc());
			//资金编号
			vo.setFundCode(dto.getFundCode());
			//分解状态
			vo.setIsDecsucCd(dto.getIsDecsucCd());
			//支付表ID
			vo.setPayTabId(dto.getPayTabId());
			//支付表号
			vo.setPayTabNo(dto.getPayTabNo());
			//是否删除（1：是，0：否）
			vo.setIsDel(dto.getIsDel());
			//PAY_TM
			vo.setPayTm(dto.getPayTm());

			//创建时间
			vo.setCrtTm(dto.getCrtTm());
			//创建人
			vo.setCrtUsrId(dto.getCrtUsrId());
			//修改时间
			vo.setMdfTm(dto.getMdfTm());
			//修改人
			vo.setMdfUsrId(dto.getMdfUsrId());
			//汇款人
			vo.setOppAccountNo(dto.getOppAccountNo());
			//汇款人账号
			vo.setOppAccountNm(dto.getOppAccountNm());
		}
		return vo;
	}

	/**
	 * TODO VO 转 DTO
	 * @methodName baseToDTO
	 * @author: shijibin@lionbridgecapital.cn
	 * @createDate: 2019/3/19 13:59
	 * @version: 1.0.0
	 * @param vo CmmIntelChdOrderVO
	 * @return CmmIntelChdOrderDTO
	 * @updateRemark [序号][YYYY-MM-DD] [更改人姓名][变更描述]
	 */
	public static CmmIntelChdOrderDTO toDTO(CmmIntelChdOrderVO vo) {
		CmmIntelChdOrderDTO dto = null;
		if (vo != null) {
			dto = new CmmIntelChdOrderDTO();
			dto.setId(vo.getId());
			//主订单ID
			dto.setParOrderId(vo.getParOrderId());
			//订单金额
			dto.setOrderAmt(vo.getOrderAmt());
			//订单状态
			dto.setOrderStsCd(vo.getOrderStsCd());
			//结果描述
			dto.setResultDesc(vo.getResultDesc());
			//资金编号
			dto.setFundCode(vo.getFundCode());
			//分解状态
			dto.setIsDecsucCd(vo.getIsDecsucCd());
			//支付表ID
			dto.setPayTabId(vo.getPayTabId());
			//支付表号
			dto.setPayTabNo(vo.getPayTabNo());
			//是否删除（1：是，0：否）
			dto.setIsDel(vo.getIsDel());
			//PAY_TM
			dto.setPayTm(vo.getPayTm());

			//创建时间
			dto.setCrtTm(vo.getCrtTm());
			//创建人
			dto.setCrtUsrId(vo.getCrtUsrId());
			//修改时间
			dto.setMdfTm(vo.getMdfTm());
			//修改人
			dto.setMdfUsrId(vo.getMdfUsrId());
			//汇款人
			dto.setOppAccountNo(vo.getOppAccountNo());
			//汇款人账号
			dto.setOppAccountNm(vo.getOppAccountNm());
		}
		return dto;
	}

    /**
     * TODO DTO集合 转 VO集合
     * @methodName toVOList
     * @author: shijibin@lionbridgecapital.cn
     * @createDate: 2019/3/19 14:03
     * @version: 1.0.0
     * @param list  List<CmmIntelChdOrderDTO>
     * @return List<CmmIntelChdOrderVO>
     * @updateRemark [序号][YYYY-MM-DD] [更改人姓名][变更描述]
     */
    public static List<CmmIntelChdOrderVO> toVOList(List<CmmIntelChdOrderDTO> list) {
        List<CmmIntelChdOrderVO>  voList = new ArrayList<>();
        if(CollectionUtils.isNotEmpty(list)){
            for (CmmIntelChdOrderDTO dto : list) {
                voList.add(toVO(dto));
            }
        }
        return voList;
    }

    /**
     * TODO VO集合 转 DTO集合
     * @methodName toDTOList
     * @author: shijibin@lionbridgecapital.cn
     * @createDate: 2019/3/19 14:04
     * @version: 1.0.0
     * @param list List<CmmIntelChdOrderVO>
     * @return List<CmmIntelChdOrderDTO>
     * @updateRemark [序号][YYYY-MM-DD] [更改人姓名][变更描述]
     */
    public static List<CmmIntelChdOrderDTO> toDTOList(List<CmmIntelChdOrderVO> list) {
        List<CmmIntelChdOrderDTO>  dtoList = new ArrayList<>();
        if(CollectionUtils.isNotEmpty(list)){
            for (CmmIntelChdOrderVO vo : list) {
                dtoList.add(toDTO(vo));
            }
        }
        return dtoList;
    }
}
